package com.himore.api.web.service.impl;

import java.util.Date;
import java.util.List;
import java.util.Map;

import com.himore.api.common.core.domain.entity.SysUser;
import com.himore.api.common.utils.CommonUtils;
import com.himore.api.common.utils.DateUtils;
import com.himore.api.common.utils.SecurityUtils;
import com.himore.api.web.mapper.TTaskCompleteInfoMapper;
import com.himore.api.web.model.TTaskCompleteInfo;
import com.himore.api.web.service.ITTaskCompleteInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;


/**
 * 任务信息Service业务层处理
 * 
 * @author ruoyi
 * @date 2021-01-21
 */
@Service
public class TTaskCompleteInfoServiceImpl implements ITTaskCompleteInfoService
{
    @Autowired
    private TTaskCompleteInfoMapper tTaskCompleteInfoMapper;

    /**
     * 查询任务信息
     * 
     * @param infoId 任务信息ID
     * @return 任务信息
     */
    @Override
    public TTaskCompleteInfo selectTTaskCompleteInfoById(Long infoId)
    {
        return tTaskCompleteInfoMapper.selectTTaskCompleteInfoById(infoId);
    }

    /**
     * 查询任务信息列表
     * 
     * @param tTaskCompleteInfo 任务信息
     * @return 任务信息
     */
    @Override
    public List<TTaskCompleteInfo> selectTTaskCompleteInfoList(TTaskCompleteInfo tTaskCompleteInfo)
    {
        return tTaskCompleteInfoMapper.selectTTaskCompleteInfoList(tTaskCompleteInfo);
    }

    /**
     * 新增任务信息
     * 
     * @param tTaskCompleteInfo 任务信息
     * @return 结果
     */
    @Override
    public int insertTTaskCompleteInfo(TTaskCompleteInfo tTaskCompleteInfo)
    {
        tTaskCompleteInfo.setCreateTime(DateUtils.getNowDate());
        return tTaskCompleteInfoMapper.insertTTaskCompleteInfo(tTaskCompleteInfo);
    }

    /**
     * 修改任务信息
     * 
     * @param tTaskCompleteInfo 任务信息
     * @return 结果
     */
    @Override
    public int updateTTaskCompleteInfo(TTaskCompleteInfo tTaskCompleteInfo)
    {
        tTaskCompleteInfo.setUpdateTime(DateUtils.getNowDate());
        return tTaskCompleteInfoMapper.updateTTaskCompleteInfo(tTaskCompleteInfo);
    }

    /**
     * 批量删除任务信息
     * 
     * @param infoIds 需要删除的任务信息ID
     * @return 结果
     */
    @Override
    public int deleteTTaskCompleteInfoByIds(Long[] infoIds)
    {
        return tTaskCompleteInfoMapper.deleteTTaskCompleteInfoByIds(infoIds);
    }

    /**
     * 删除任务信息信息
     * 
     * @param infoId 任务信息ID
     * @return 结果
     */
    @Override
    public int deleteTTaskCompleteInfoById(Long infoId)
    {
        return tTaskCompleteInfoMapper.deleteTTaskCompleteInfoById(infoId);
    }
    @Override
    public  boolean checkIfTaskComplete(TTaskCompleteInfo tTaskCompleteInfo){
        Map<String, Date> params = CommonUtils.getWeekDate();
        Date signBeginDate = params.get("mondayDate");
        Date signEndDate = params.get("sundayDate");
        signEndDate =DateUtils.addTimeTodate(signEndDate,1);
        SysUser sysUser = SecurityUtils.getLoginUser().getUser();
        tTaskCompleteInfo.setUserId(sysUser.getUserId());
        tTaskCompleteInfo.setSigndateBegin(DateUtils.getYYYYMMDDDate(signBeginDate));
        tTaskCompleteInfo.setSigndateEnd(DateUtils.getYYYYMMDDDate(signEndDate));
        List<TTaskCompleteInfo> list = tTaskCompleteInfoMapper.selectTTaskCompleteInfoList(tTaskCompleteInfo);
        if(null !=  list &&  list.size()>0) {
            return true;
        }
        return  false;
    }

}
